home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Grand Slam 3
/
Grand Slam 3.iso
/
029
/
mdva.arj
/
APAP.SCM
next >
Wrap
Text File
|
1995-08-25
|
6KB
|
151 lines
;
; APAP.scm = Macro to produce three panel APAPs,
; (Alignment of Elements Systems) at floor or specified altitude
; (for runways on elevated surfaces)
;
; Macro by Alan Misiaszek, 1995, CIS
; for use with SCASM.exe
;
; Macro( apap.scm Lat Lon UseAlt Alt Hdg Side TDP FPD Color)
; 1 2 3 4 5 6 7 8 9
;
; This macro should be used only in a RunwayCall'ed subroutine.
; The scaling factor is set to feet to make all distances RunwayData
; compatible and to permit the fine resolution necessary in heights for
; panel alignment based on small glide slope angles.
; Since SCASM cannot do parameter calculation you have to calculate the
; distances and heights for the panels.
; The Lat/Lon coordinates (Params 1,2) and Heading (Param 5) are
; the same as for the runway.
; Param 3 UseAltitude:
; set at 0 if altitude is default floor set Param 4 at 0
; set at 1 if altitude is that in param 4 set Param 4 at actual alt
;
; Param 6 is the lateral displacement from center of runway
; (-numbers = panels on left side...no sign panels on right side)
; The lateral displacement should be equal to one-half of the runway
; width + 50 feet, ex. panel left of 50 ft rwy 25 + 50 = 75
;
; Param 7 is the lengthwise displacement of the base (single) panel.
; The panels are arranged as shown below
; | |
; Base Panel [] |--------| Touch Down Point
; Front Panels [] [] | |
; | |
; | |
; | |
; |^^^^^^^^^^^^^^^^^^^| Threshold
; It will be at the same distance from the end of the runway as the
; touch down point (TDP) for the indicated glide slope (GS) and
; threshold crossing height (TCH). The TDP can be calculated by
; dividing the TCH by the tangent of the glide slope angle.
; (A table is included below with these factors)
; For example: If the glide slope is 5.25 deg and the TCH is 57 ft
; then the TDP = 57 / 0.0919 = 620 ft
; if the runway is 2550 ft in length Param 7 would be
; (2550 / 2) - 620 = 655 ( -655 minus sign towards viewer from center point)
; Remember to account for displaced thresholds in this calculation.
;
; Param 8 is the distance to the front panel set. Since the height of the
; top of the front panels is 10 ft the distance between panels can be
; calculated by the same method above. (see table for values) add this value
; to the base panel distance and change the sign to get this setting.
;
; e.g. -655 + -109 = -764
; (bright) (regular)
; Param 9 is the panel colors Recommeded: 13 = orange 08 = orange
; 14 = yellow 09 = yellow
; 15 = white 04 = white
;
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
;apap Glide (Param 8)
; slope Tangent of TDP & BPDist FPDistance
; angle angle factor(1/tan) @10'difference in top panel height
; 7.00 0.1228 8.1443 81
; 6.75 0.1184 8.4490 84
; 6.50 0.1139 8.7769 88
; 6.25 0.1095 9.1309 91
; 6.00 0.1051 9.5144 95
; 5.75 0.1007 9.9310 99
; 5.50 0.0963 10.3854 104
; 5.25 0.0919 10.8829 109
; 5.00 0.0875 11.4301 114
; 4.75 0.0831 12.0346 120
; 4.50 0.0787 12.7062 127
; 4.25 0.0743 13.4566 135
; 4.00 0.0699 14.3007 143
; 3.75 0.0655 15.2571 153
; 3.50 0.0612 16.3499 163
; 3.25 0.0568 17.6106 176
; 3.00 0.0524 19.0811 191
; >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
mif( %3 )
RefPoint( 2 :apap_end@ 0.3048 %1 %2 E= %4 )
melse
RefPoint( 7 :apap_end@ 0.3048 %1 %2 )
mifend
RotatedCall( :apapB@ 0 0 %5 )
Jump( :apap_end@ )
:apapB@
TransformCall( :apapBp@ %6 0 %7 0 0 0 0 0 0 )
TransformCall( :apapFp@ %6 0 %8 0 0 0 0 0 0 )
Return
:apapBp@
Points( 0
-9 0 0
-9 5 1
7 5 1
7 0 0
-9 0 2
7 0 2
)
SurfaceColor( %9 F0 )
Brightness( 100 )
Poly( a 0 1 2 3 )
SurfaceColor( 02 F0 )
Poly( a 4 5 2 1 )
Poly( a 5 3 2 )
Poly( a 0 4 1 )
Return
:apapFp@
Points( 0
-20 10 0 -20 15 1 -7 15 1 -7 10 0 -20 10 2 -7 10 2
-20 0 0 -20 0 2 -7 0 2 -7 0 0
7 10 0 7 15 1 20 15 1 20 10 0 7 10 2 20 10 2
7 0 0 7 0 2 20 0 2 20 0 0
)
SurfaceColor( %9 F0 )
Brightness( 100 )
Poly( a 0 1 2 3 )
Poly( a 10 11 12 13 )
SurfaceColor( 02 F0 )
Poly( a 0 4 1 )
Poly( a 5 3 2 )
Poly( a 10 14 11 )
Poly( a 15 13 12 )
Poly( a 4 5 2 1 )
Poly( a 14 15 12 11 )
LineColor( 02 F0 )
MoveToPt( 0 )
DrawToPt( 6 )
MoveToPt( 4 )
DrawToPt( 7 )
MoveToPt( 5 )
DrawToPt( 8 )
MoveToPt( 3 )
DrawToPt( 9 )
MoveToPt( 10 )
DrawToPt( 16 )
MoveToPt( 14 )
DrawToPt( 17 )
MoveToPt( 15 )
DrawToPt( 18 )
MoveToPt( 13 )
DrawToPt( 19 )
Return
:apap_end@
; -----------------------------------------------